/**
 * 
 */
package co.edu.udistrital.analyzer.business.services.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import co.edu.udistrital.analyzer.business.orm.dao.ParamDAO;
import co.edu.udistrital.analyzer.business.orm.model.Param;
import co.edu.udistrital.analyzer.business.orm.model.enums.ParamName;
import co.edu.udistrital.analyzer.business.services.ParamsService;

/**
 * Clase concreta para el servicio de la capa de negocio para manejo de
 * operaciones con objetos de tipo Param
 * 
 * @author Alejo
 * 
 */
@Service("paramsService")
public class ParamsServiceImpl implements ParamsService {

	/**
	 * The serial version UID
	 */
	private static final long serialVersionUID = 2313061252768486444L;
	 
	/**
	 * Permite el acceso a la capa de persistencia de los objetos de tipo Param
	 */
	@Autowired
	ParamDAO paramDao;


	@Override
	@Transactional
	public Param findParamByKey(ParamName key) {
		return paramDao.findByKey(key);
	}


	@Override
	@Transactional
	public void saveOrUpdateParam(Param param) {
		paramDao.saveOrUpdate(param);
	}


	@Override
	@Transactional
	public List<Param> findAllParams() {
		return paramDao.findAll();
	}

}
